I had the same problem you describe and it was all cleaning-related stuff that fixed it. Thoroughly clean your throttle bodies while you're taking care of this stuff, even though that probably won't be the fix.
If you pull the (yellow) idle air connector and run your car until it's warmed up & steadily idling, then reconnect the plug, do you hear/feel the ECU take over and change the idle? Mine was finicky because it's cracked but I was able to get it to work so at some point I'll find a new connector...if yours is cracked/split that could be the problem, or your idle air unit could just be dead (hope it's not that).